﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using PraceDyplomowe.Models;
using System.IO;

namespace PraceDyplomowe.Controllers
{
    public class ProfilPromotorController : Controller
    {
        //
        // GET: /ProfilPromotor/Details/5

        public ActionResult WyswietlProfil(int? id)
        {
            var zrodloDanych = FalszywaBazaDanych.Instancja;
            var promotor = id.HasValue
                ? zrodloDanych.PobierzPromotora(id.Value)
                : zrodloDanych.PobierzPromotora(User.Identity);
            return View(promotor);
        }

        //
        // GET: /ProfilPromotor/Create

        public ActionResult EdytujProfil(int? id)
        {
            var zrodloDanych = FalszywaBazaDanych.Instancja;

            var promotor = id.HasValue
                ? zrodloDanych.PobierzPromotora(id.Value)
                : zrodloDanych.PobierzPromotora(User.Identity);

            return View(promotor);
        }

        //
        // POST: /ReadyMovie/Edit/5

        [HttpPost]
        public ActionResult EdytujProfil(Promotor promotor, HttpPostedFileBase zdjecie)
        {
            try
            {
                if (zdjecie != null)
                {
                    var filename = Guid.NewGuid().ToString() + ".jpg";
                    var filepath = Path.Combine(Path.Combine(Server.MapPath("~"), "Zdjecia"), filename);
                    using (FileStream output = System.IO.File.OpenWrite(filepath))
                    {
                        zdjecie.InputStream.CopyTo(output);
                    }
                    promotor.Zdjecie = "/Zdjecia/" + filename;
                }
                // TODO: Add update logic here
                var zrodloDanych = FalszywaBazaDanych.Instancja;
                
                zrodloDanych.Zapisz(promotor);

                return RedirectToAction("EdytujProfil", new {id = promotor.Id});
            }
            catch
            {
                return View(promotor);
            }
        }

    }
}
